package com.you.raft.core;

import com.you.raft.common.entity.ClientRequest;
import com.you.raft.common.entity.ClientResponse;

public interface ClientService {
    /**
     * 客户端键值对请求服务:
     * <p>
     * 对于FOLLOWER节点，将请求转发到LEADER节点
     * <p>
     * 对于LEADER节点,将请求复制给其他所有FOLLOWER节点,判断大多数完成复制后提交日志
     */
    ClientResponse clientRequest(ClientRequest request);
}
